<?php

mysql 字段类型详解




INT   4 字节整数，有符号范围从 -2147483648 到 2147483647，无符号范围从 0 到 4294967295
VARCHAR    变长（0-65,535）字符串，最大有效长度取决于最大行大小
TEXT   最多存储 65535（2^16 - 1）字节的文本字段，存储时在内容前使用 2 字节表示内容的字节数
DATE   日期，支持的范围从 1000-01-01 到 9999-12-31

/* 数字 */
  TINYINT        1 字节整数，有符号范围从 -128 到 127，无符号范围从 0 到 255
  SMALLINT     2 字节整数，有符号范围从 -32768 到 32767，无符号范围从 0 到 65535
  MEDIUMINT  3 字节整数，有符号范围从 -8388608 到 8388607，无符号范围从 0 到 16777215
  INT   4 字节整数，有符号范围从 -2147483648 到 2147483647，无符号范围从 0 到 4294967295
  BIGINT   8 字节整数，有符号范围从 -9223372036854775808 到 9223372036854775807，无符号范围从 0 到 18446744073709551615

  DECIMAL  定点数（M，D）- 整数部分（M）最大为 65（默认 10），小数部分（D）最大为 30（默认 0）
  FLOAT   单精度浮点数，取值范围从 -3.402823466E+38 到 -1.175494351E-38、0 以及从 1.175494351E-38 到 3.402823466E+38
  DOUBLE  双精度浮点数，取值范围从 -1.7976931348623157E+308 到 -2.2250738585072014E-308、0 以及从 2.2250738585072014E-308 到 1.7976931348623157E+308

  REAL  DOUBLE 的别名（例外：REAL_AS_FLOAT SQL 模式时它是 FLOAT 的别名）

  BIT  位类型（M），每个值存储 M 位（默认为 1，最大为 64）
  BOOLEAN  TINYINT(1) 的别名，零值表示假，非零值表示真
  SERIAL  BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE 的别名


/* 日期与时间 */
    DATE  日期，支持的范围从 1000-01-01 到 9999-12-31
    DATETIME  日期与时间，支持的范围从 1000-01-01 00:00:00 到 9999-12-31 23:59:59
    TIMESTAMP  时间戳，范围从 1970-01-01 00:00:01 UTC 到 2038-01-09 03:14:07 UTC，存储为自纪元（1970-01-01 00:00:00 UTC）起的秒数

    TIME   时间，范围从 -838:59:59 到 838:59:59
    YEAR  四位数（4，默认）或两位数（2）的年份，取值范围从 70（1970）到 69（2069）或从 1901 到 2155 以及 0000


/* 文本 */
  CHAR  定长（0-255，默认 1）字符串，存储时会向右边补足空格到指定长度
  VARCHAR  变长（0-65,535）字符串，最大有效长度取决于最大行大小
  TINYTEXT  最多存储 255（2^8 - 1）字节的文本字段，存储时在内容前使用 1 字节表示内容的字节数
  TEXT  最多存储 65535（2^16 - 1）字节的文本字段，存储时在内容前使用 2 字节表示内容的字节数
  MEDIUMTEXT  最多存储 16777215（2^24 - 1）字节的文本字段，存储时在内容前使用 3 字节表示内容的字节数
  LONGTEXT  最多存储 4294967295 字节即 4GB（2^32 - 1）的文本字段，存储时在内容前使用 4 字节表示内容的字节数

  BINARY  类似于 CHAR 类型，但其存储的是二进制字节串而不是非二进制字符串
  VARBINARY  类似于 VARCHAR 类型，但其存储的是二进制字节串而不是非二进制字符串

  TINYBLOB  最多存储 255（2^8 - 1）字节的 BLOB 字段，存储时在内容前使用 1 字节表示内容的字节数
  MEDIUMBLOB  最多存储 16777215（2^24 - 1）字节的 BLOB 字段，存储时在内容前使用 3 字节表示内容的字节数
  BLOB   最多存储 65535（2^16 - 1）字节的 BLOB 字段，存储时在内容前使用 2 字节表示内容的字节数
  LONGBLOB   最多存储 4294967295 字节即 4GB（2^32 - 1）的 BLOB 字段，存储时在内容前使用 4 字节表示内容的字节数

  ENUM  枚举，可从最多 65535 个值的列表中选择或特殊的错误值 ''
  SET  可从最多 64 个成员中选择集合为一个值


/* 空间 */
  GEOMETRY  一种能存储任意类型几何体的类型
  POINT  二维空间中的点
  LINESTRING  点之间的线性插值曲线
  POLYGON  多边形
  MULTIPOINT   点的集合
  MULTILINESTRING  点之间的线性插值曲线的集合
  MULTIPOLYGON   多边形的集合
  GEOMETRYCOLLECTION  任意类型几何体对象的集合